Systems and Methods for Presenting Home Screen Shortcuts

ABSTRACT

A method for presenting home screen shortcuts is disclosed. The method includes receiving a selection of shortcuts to a plurality of applications of at least two different types available for execution on a television device and presenting those shortcuts on a unified home screen user interface displayed on a TV screen or a second screen device. The method also includes responding to a user selection of one of the shortcuts by causing execution of the application associated with the shortcut, including in some instances effecting an intent (e.g., causing the associated application to achieve a state associated with the shortcut&#39;s intent). The different application types include applications, TV channels, websites, games, email, and widgets, such as a search widget.

RELATED APPLICATION

This application claims priority to U.S. Provisional Application Ser.No. 61/513,633, filed Jul. 31, 2011, entitled “Systems and Methods forPresenting Home Screen Shortcuts,” which is incorporated by referenceherein in its entirety.

TECHNICAL FIELD

The disclosed embodiments relate generally to presenting on a TV screenhome screen shortcuts that represent content applications for TV. Moreparticularly, the disclosed embodiments relate to methods and systemsfor presenting on a TV screen home screen shortcuts for a differenttypes of applications that execute on a Internet-enabled TV or TVcompanion device, such a set top box.

BACKGROUND

In the past, television devices (e.g., televisions and receivers/set topboxes coupled to televisions) were used to access only televisionprogramming. Increasingly, television devices are connected to theInternet and have processing capabilities that permit the devices toexecute computer applications, access digital content viaInternet-streaming services, and display Web pages on television screensin addition to television programming. Also, because users typically sitfurther from television screens than computer screens and interact withtelevision devices using a remote control and/or a device with adirectional pad, it can be challenging for users to interact with thewide range of viewing choices and applications available on televisiondevices. Also, while it may be acceptable for users of computers orpersonal devices (such as smart phones) to select content from a varietyof menus/folders (e.g., accessing a bookmarks menu to select web pagesand an applications menu to select programs), this is not convenient forTV viewers given limits on the available user interfaces and the factthat viewers want to access content for viewing in as direct a manner aspossible (e.g., without selecting from particular menus).

SUMMARY

A number of embodiments (e.g., of computer systems or devices, andmethods of operating such systems or devices) that overcome thelimitations and disadvantages described above are presented in moredetail below. These embodiments provide methods, systems, and graphicaluser interfaces (GUIs) for providing a unified user interface thatprovides shortcuts to TV applications of disparate application types,all of which are configured to execute on a TV device (as defined inthis patent application) associated with the computer system. Forexample, the different TV application types can include two or more ofapplications, web pages, email, games, TV channels and widgets.

As described in more detail below, some embodiments involve a method forproviding home screen short cuts to TV applications available forexecution on a TV device. The method is performed at a computer systemcoupled with a television device and a television screen (whetherintegrated with the television device or not). The computer systemincludes one or more processors and memory storing multiple computerprograms, for execution by the one or more processors, for displayingcontent on the television device. The method includes: receiving aplurality of shortcuts associated with TV applications of two or moredifferent application types; displaying on a television screenassociated with the television device a unified home screen userinterface including the shortcuts, wherein the shortcuts associated withTV applications of different application types are displayed together;and in response to selection of one of the displayed shortcuts,launching the TV application associated with the shortcut, such that auser interface of the launched TV application is displayed on thetelevision screen associated with the television device.

In some embodiments, each of at least a subset of the shortcuts isassociated with a intent, in which case the method includes: in responseto selection of one of the shortcuts with an associated intent,launching the TV application associated with the shortcut with anapplication state that reflects the associated intent, such that a userinterface of the launched TV application for the application state isdisplayed on the television screen.

In some embodiments, the method includes: displaying and hiding the homescreen user interface under control of the TV control program based oncontext of the TV control program. In some embodiment, the methodincludes: displaying the home screen in response to selection by a userof a home screen button on a physical interface device employed by theuser to control the television device.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments as well asadditional aspects and embodiments thereof, reference should be made tothe Description of Embodiments below, in conjunction with the followingdrawings in which like reference numerals refer to corresponding partsthroughout the figures.

FIG. 1 is a block diagram illustrating an exemplary content distributionsystem, in accordance with some embodiments.

FIG. 2 is a block diagram illustrating a computer system, in accordancewith some embodiments.

FIG. 3 illustrates an exemplary user interface in accordance with someembodiments.

FIG. 4 is a block diagram illustrating exemplary data structures, inaccordance with some embodiments.

FIG. 5 is a flowchart representing a method for providing home screenshortcuts, in accordance with some embodiments.

Like reference numerals refer to corresponding parts throughout thedrawings.

DESCRIPTION OF EMBODIMENTS

Methods and systems for providing home screen shortcuts for TVapplications are described. Reference will be made to certainembodiments, examples of which are illustrated in the accompanyingdrawings. While the invention will be described in conjunction with theembodiments, it will be understood that the embodiments are not intendedto limit the invention to these particular embodiments alone.

Moreover, in the following description, numerous specific details areset forth to provide a thorough understanding of the describedembodiments. However, it will be apparent to one of ordinary skill inthe art that some embodiments may be practiced without these particulardetails. In other instances, methods, procedures, components, andnetworks that are well-known to those of ordinary skill in the art arenot described in detail to avoid obscuring aspects of the embodimentsdescribed in this document.

FIG. 1 is a block diagram illustrating an exemplary content distributionsystem 100, according to certain embodiments. In FIG. 1, the system 100includes one or more content providers 102 and communications networks104. Connected to the communication networks 104 is a companion device114 coupled with a television screen 112 or an integrated televisiondevice 116 that includes the television screen 112 and components of thecompanion device 114. In some embodiments, the companion device 114 is aset-top box or is a computing device that includes set-top boxfunctionality. Various embodiments of the companion device 114 and/orthe integrated television device 116 implement the methods described inthis document. In some embodiments, the system 100 includes a controller130 through which a user can control the devices 114, 116. In someembodiments, the controller 130 includes a “Home” button that, whenpressed by a user, causes a home screen user interface 330 (as describedwith reference to FIG. 3) to be displayed on the television screen 112or the personal device screen 120.

As used herein, content providers 102 are systems or devices configuredto provide media content (e.g., music, television programs, movies,social media data, web data, etc.). The content providers 102 can be anyof a number of content provider systems, equipment, and/or devices thatprovide media content (e.g., radio broadcasting systems, on-airtelevision broadcasting systems, cable service systems, direct satellitebroadcasting systems, Internet television service servers, Internetradio station servers, web servers, digital video recorders, etc.). Insome embodiments, at least a subset of the media contents distributed bythe content providers 102 includes audio data (e.g., music, radioprograms, television programs, movies, etc.). In some embodiments, atleast a subset of the media contents distributed by the contentproviders 102 includes video data (e.g., photos, television programs,movies, etc.). In some embodiments, at least a subset of the mediacontents distributed by the content providers 102 includes multimediadata (e.g., television programs, movies, etc.). In some embodiments, atleast a subset of the media contents distributed by the contentproviders 102 includes user-readable text (e.g., messages sent via shortmessage services, postings on blogs or other social networking media,web pages, etc.).

The content providers 102 distribute media contents via thecommunication networks 104. The communication networks 104 may includeone or more of: radio-frequency communication networks used for on-airor satellite television broadcasting, radio-frequency communicationnetworks used for on-air radio broadcasting, cable-based communicationnetworks, digital audio/video communication networks, the Internet,other wide area networks, local area networks, metropolitan areanetworks, wireless networks, cellular networks, and so on.

In some embodiments, the companion device 114 or the integratedtelevision device 116 includes a receiver/converter 106 connected to thecommunication networks 104 and configured to receive audio and/or videosignals, typically via one or more of radio-frequency communicationnetworks and/or one or more digital audio/video communication networks.

In some embodiments, the companion device 114 or the integratedtelevision device 116 includes one or more computer communicationnetwork interfaces 108 that are configured for interfacing with one ormore computer communication networks, such as the Internet, other widearea networks, local area networks, metropolitan area networks, wirelessnetworks, cellular networks, and so on.

The companion device 114 or the integrated television device 116 storesand/or executes television applications 122. The applications 122include application programs used for managing the companion device 114or the integrated television device 116, including, in some embodiments,applications for controlling the display on the television screen ofmedia content from one or more of the content providers 102. Forexample, at least one of the television applications 122 is configuredto receive data from the receiver/converter 106 and/or the computercommunication network interface 108 and send data and instructions to agraphics module 110 for rendering media and program content, includinguser interfaces and/or user interface objects. In some embodiments, thetelevision applications include local applications (e.g., a TV Playerapplication or a device settings application), media players (e.g.,players of digital media content), web browsers (e.g., for accessing websites and web-based content services), email applications, TV channels,games and widgets (such as a search widget). Other application types canwork equally well within the context of the described technology.

The graphics module 110 includes one or more display processors orgraphics processing units for rendering user interfaces and/or userinterface objects. In some embodiments, the graphics module 110 receivesdata from the receiver/converter 106 and/or the computer communicationnetwork interface 108, and additional data or instructions from theapplications 122 for rendering user interfaces and/or user interfaceobjects. The user interfaces and/or user interface objects rendered bythe graphics module 110 are sent to the television screen 112 fordisplay.

The companion device 114 or the integrated television device 116 mayinclude additional components not illustrated in FIG. 1.

Also illustrated in FIG. 1 is a personal device 118. The personal device118 may be any of a number of computing devices (e.g., Internet kiosk,personal digital assistant, cell phone, smart phone, gaming device,desktop computer, laptop computer, tablet computer, handheld computer,or combinations thereof) used to enable the activities described below.The personal device 118 includes a display screen 112 where a graphicaluser interface (GUI) can be displayed. In some embodiments, the personaldevice 118 is also configured to receive media content from the contentproviders 102 via the communication networks 104, and display thereceived media content. In some embodiments, the personal device alsocan server as the controller 130.

In some embodiments, the applications 122 can be executed on either orboth a personal device 118 or a companion device 114, in which case theapplication output, including user interface elements, is presented oneither the television screen 112 or the personal device screen 120. Forexample, an application can be an Android application that can beexecuted on a companion device 114 (such as a Google TV-enabled set-topbox) and a smart phone/personal device 118 (such as an Android phone).

FIG. 2 is a block diagram illustrating a computer system 200 inaccordance with some embodiments. In some embodiments, the computersystem 200 corresponds to the companion device 114 or the integratedtelevision device 116 (FIG. 1).

The computer system 200 typically includes one or more processing units(CPUs) 202, graphics module 110, and memory 206. In some embodiments,the computer system 200 also includes one or more of: one or morenetwork or other communications interfaces 108, and one or morereceivers and/or converters 106. The computer system 200 includes one ormore communication buses 204 for interconnecting these components. Insome embodiments, the communication buses 204 include circuitry(sometimes called a chipset) that interconnects and controlscommunications between system components. In some other embodiments, thecomputer system 200 includes a user interface (not shown) (e.g., akeyboard, and a mouse or other pointing device). The computer system 200is coupled with the television screen 112, regardless of whether thetelevision screen 112 is integrated with the computer system 200 orlocated outside the computer system 200. The television screen 112 maybe used to display a graphical user interface.

The memory 206 of the computer system 200 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM or other random access solidstate memory devices; and may include non-volatile memory, such as oneor more magnetic disk storage devices, optical disk storage devices,flash memory devices, or other non-volatile solid state storage devices.The memory 206 may optionally include one or more storage devicesremotely located from the CPU(s) 202. The memory 206, or alternately thenon-volatile memory device(s) within the memory 206, comprises anon-transitory computer readable storage medium. In some embodiments,the memory 206 or the computer readable storage medium of the memory 206stores the following programs, modules and data structures, or a subsetthereof:

-   -   operating system 210 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   network communication module (or instructions) 212 that is used        for connecting the computer system 200 to the content providers        (e.g., content providers 102, FIG. 1) via one or more network        interfaces 108 and one or more communications networks 104 (FIG.        1), such as the Internet, other wide area networks, local area        networks, metropolitan area networks, wireless networks,        cellular networks, and so on;    -   receiver/converter module (or instructions) 214 that is used for        receiving media content from the content providers (e.g.,        content providers 102) via one or more receivers/converters 106        and one or more communications networks 104, such as        radio-frequency audio/video communication networks, cable-based        communication networks, digital audio/video communication        networks, and so on;    -   application service module 216 that provides various services to        the applications 122;    -   applications 122, which include various applications executed by        the one or more processing units 202 causing the computer system        200 to perform certain operations (e.g., a media player 220,        which, when executed, displays contents of media data; an email        application 222, which, when executed, displays one or more        email messages, a TV player application 224, which        tunes/receives and displays content from the TV inputs to the        companion device 114, one or more web browsers 226, games 228,        and widgets 230, such as search and text editing widgets.    -   data storage 226 that stores various data used by the computer        system 200.

The data storage 250 typically includes home screen definitions 252 thatprovide information related to shortcuts that includes in someembodiments: a type of the shortcut (e.g., whether the shortcut isopened in a browser or the TV player or requires the launching of alocal application), a path or URL of the application associated with theshortcut, and any actions needed to carry out an “intent” that isassociated with the shortcut. The home screen definitions 252 aredescribed in detail with respect to FIG. 4. The data storage in someembodiments also includes state information 254 that indicates, forexample, the status of the devices 114, 116 (e.g., whether the TV orcompanion device has just been turned on or off), the status of thevarious applications 122 (e.g., whether the TV Player application hasjust been launched or closed) and a log of user interactions with thedevices 114, 116.

The application service module 216 includes one or more service modulesto provide various application services (e.g., memory management, datamanagement, graphics rendering, etc.) to the applications 122. In someembodiments, the application service module 216 is included in theoperating system 210. In some embodiments, the application servicemodule 216 includes a home screen module 240 for managing shortcuts(including assignment of shortcuts to the home screen, editing ofinformation related to shortcuts, launching applications associated withshortcuts, storage of data associated with each shortcut—e.g., homescreen definitions 252- and displaying and hiding of the home screenuser interface). In some embodiments, the home screen module 240 refersto the state information 254 for context related to determining when todisplay or hide the home screen user interface. In some embodiments, theapplication service module 216 includes a rendering service module 218for sending data and/or instructions to the graphics module 110 forrendering user interfaces and/or user interface objects, including thehome screen user interface.

Optionally, the memory 206 may include additional applications 122,modules, or components. In some embodiments, the computer system 200includes additional components not illustrated in FIG. 2. For example,the computer system 200 may include one or more audio modules forgenerating and/or amplifying audio signals. The computer system 200 mayalso include one or more security modules for protecting the data storedin the computer system 200.

Each of the above identified modules and applications corresponds to aset of instructions for performing one or more functions describedabove. These modules (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, the memory 206may store a subset of the modules and data structures identified above.Furthermore, the memory 206 may store additional modules and datastructures not described above.

Notwithstanding the discrete blocks in FIGS. 1 and 2, these figures areintended to provide functional descriptions of some embodiments ratherthan structural descriptions of functional elements in the embodiments.One of ordinary skill in the art will recognize that an actualimplementation might have the functional elements grouped or split amongvarious components. In practice, and as recognized by those of ordinaryskill in the art, items shown separately could be combined and someitems could be separated. For example, in some embodiments, thetelevision screen 112 is included in the computer system 200. In otherembodiments, the television screen 112 is physically separated from thecomputer system 200. In some embodiments, the CPUs 202 and the memory206 are included in a single semiconductor package. In some embodiments,the CPUs 202 and the graphics module 110 are included in a singlesemiconductor package. In some embodiments, the computer system 200 isimplemented on multiple distributed computer systems. In someembodiments, the user activity data module 218 is integrated into theapplication service module 216, and the user activity data module 218may not exist as a separate module.

The actual number of components used to implement the computer system200 and how features are allocated among them will vary from oneimplementation to another, may depend in part on the amount of datatraffic that the system must handle during peak usage periods as well asduring average usage periods, and may also depend on the amount of datastored by the computer system 200. Moreover, one or more of the blocks(e.g., the television screen 112, and the receiver/converter 106, etc.)in FIGS. 1 and 2 may be implemented on one or more separate devicesdesigned to provide the described functionality. Although thedescription herein refers to certain features implemented in thetelevision device and the computer system 200, the embodiments are notlimited to such distinctions. For example, features described herein asbeing part of the computer system 200 can be implemented in whole or inpart in the television device, and vice versa.

FIG. 3 illustrates an exemplary user interface displayed on a televisionscreen 112 and/or a personal device 118 (e.g., a mobile phone, a tabletcomputer, a notebook computer, a desktop computer, etc.) in accordancewith some embodiments. As described above, in some embodiments the homescreen user interface 330 presents in a unified context a collection ofshortcuts 316 to TV applications of different types. In someembodiments, the home screen 330 is displayed in response to a userpressing a “home” button on the controller 130. In some embodiments, thehome screen 330 is displayed based on contextual information for thesystem. For example, in some embodiments the home screen 330 isdisplayed (or hidden) when it is determined (e.g., by the home screenmodule 240) based on state information 254 that it is appropriate todisplay (or hide) the home screen user interface 330 (e.g., the homescreen is displayed when the TV Player or other media application islaunched and hidden once a user has selected a shortcut 316).

In the exemplary configuration shown in FIG. 3, the home screen 330 isshown as a horizontal overlay across the bottom of displayed content312, which can be any type of content displayed on the television screen112. The home screen 330 in this example includes shortcuts 316 of fivedifferent types: a shortcut 316-1 to the TV player application, ashortcut 316-2 to a TV channel (e.g., “NBC” or “ABC”), a shortcut 316-3to a web site (e.g., “YouTube” or the “New York Times”), a shortcut316-4 to game application (e.g., “Angry Birds”) and a shortcut 316-5 toa widget (e.g., a “Search” widget). Selection by a user of a shortcut316 results in the transparent (to the user) execution/launching of theassociated application in one or more operations/actions. The actions tolaunch an application in response to selection of shortcut can bedifferent based on the type of the associated TV application. In someembodiments, the one or more operations are defined so as to implementan intent associated with that short cut. For example, in someembodiments, if a user selects a shortcut 316-2 associated with aparticular TV channel (e.g., “HBO”), the operations would includelaunching the TV player application and tuning the TV player applicationto the “HBO” channel. Similarly, if a user selects a shortcut 316-3 to aweb site, the operations would include launching the web browser anddirecting the browser to the URL associated with that web site. In someembodiments, selection of a shortcut causes the associated applicationto be launched directly. For example, if a user selects a shortcut 316-1to a local application (e.g., the TV Player 224), that application islaunched directly. Note that there is no limit on the number ofshortcuts of a particular type. There can be multiple shortcuts 316 ofthe same type, or the shortcuts 316 can all be of a different type.

Providing shortcuts of different types on a single user interface inthis manner enables the user to conveniently select any type ofapplication to execute/launch using a controller 130. This also freesthe user from the need to go to different folders to access shortcuts ofa particular type (e.g., going to a bookmarks folder to select bookmarksto web pages and going to an applications folder to select shortcuts tolocal applications). In some embodiments, the shortcuts presented on thehome screen can be selected and assigned by the user from folders ofshortcuts, or can be selected and assigned from on search results forparticular shortcuts. In some embodiments, the shortcuts 316 include ashortcut to a “Search” widget that, when selected by a user, allows theuser to search for other shortcuts 316 that can be assigned to the homescreen 330. The computer system 200 (e.g., the home screen module 240)can also suggest shortcuts for inclusion on the home screen based onfrequency of use or other usage based criteria of the associated TVapplications.

The rendering service module 218 adjusts the user interface displayed onthe television screen 112 such that a user interface configured for thetelevision screen 112, instead of a user interface configured for apersonal device 118, is displayed. It should be noted that FIG. 3 is notdrawn to scale. Also the configuration of the home screen 330 shown inFIG. 3 is exemplary and can be varied—in some embodiments in response touser-selected settings. For example, instead of a horizontally-orientedhome screen 330 showing the shortcuts 316 in a single row (as shown inFIG. 3), in some embodiments the home screen 330 can have a verticalorientation showing the shortcuts 316 in a single vertical columns. Insome embodiments, there can also be more than one row or column of theshortcuts 316, and the home screen 330 can be displayed in differentpositions on the screen 112, or as a tile instead of as an overlay onthe displayed content 312.

In some embodiments, the home screen 330 is displayed on the display 120of the personal device 118. In such a configuration, the personal device118 can be used as a second screen device to control the display ofcontent 312 on the television screen 112. For example, in such aconfiguration selection by a user of a shortcut 316 from the screen ofthe personal device screen 120 results in launching of an associated TVapplication 122 stored on the devices 114 or 116.

FIG. 4 is a block diagram illustrating an exemplary data structure forthe home screen definitions 232 (FIG. 2), in accordance with someembodiments. A shortcut definition 402 is associated with multiple dataelements, including: a shortcut name/icon 404, a shortcut type 406, ashortcut path/URL 408 and a shortcut intent/actions 410, which furtherinclude one or more associated actions 420. The computer system 200 usesthe information in the home screen definitions 232 to determine how todisplay the shortcuts 316 on the home screen user interface 330 and todetermine which actions to take to execute a shortcut in response toselection of the associated shortcut 316.

In some embodiments, the name and/or icon displayed for a particularshortcut 316 on the home screen is derived from the name and/or iconinformation 404 stored for that shortcut in the home screen definitions232. For example, for a shortcut associated with the YouTube web page,the name and icon information could be associated with an official“YouTube” icon.

In some embodiments, in response to selection of a particular shortcut316, the associated application can be launched in accordance with thedesignated system path or network URL 408 stored in the home screendefinitions. For example, when the shortcut is associated with a gamestored locally, such as “AngryBirds,” the shortcut path 408 would bedirected to the location on the computer system 200 of the launcher forthat game. Conversely, when the shortcut 316 is associated with a website, the URL 408 would be directed to the URL of that website (e.g., inthe case of a shortcut 316 associated with YouTube, the shortcut URL 408would be www.youtube.com). When an intent is associated with a shortcut316, the computer system 200 (e.g., in some embodiments, the home screenmodule 240) executes the actions 420 associated with the shortcut. Forexample, if the shortcut is associated with viewing “HBO,” inpseudocode, the set of associated actions would at least in part bespecified as follows:

action 420-1: launch TV Player

action 420-2: tune to HBO

In some embodiments, the shortcut type 406 provides information thatenables the appropriate application to be launched in response toselection of a shortcut 316. In some embodiments, the shortcut type 406can be selected from any application type available on the system 200.In some embodiments, the application types include: “web browser,” “TVplayer,” “email application,” “game,” “local application” (such as anAndroid application) and “widget.” For example, if the shortcut type is“web browser,” the system will know to launch a web browser to accessthe web page at the associated URL 408.

FIG. 5 is a flowchart representing a method 500 for managing useractivity data in accordance with some embodiments. The method 500 isperformed at a computer system coupled with a television device. In someembodiments, the method 500 is performed by a home screen module 240(FIG. 2). For example, the computer system may be the companion device114 coupled with a television screen 112 or a separate televisiondevice, or the computer system may be embedded in the integratedtelevision device 116 (FIG. 1). Alternatively, the computer system mayinclude the personal device 118. The computer system includes one ormore processors and memory storing multiple computer programs, forexecution by the one or more processors, for displaying content on thetelevision device (e.g., the media player 220, the TV player 224, or theweb browser 226 (FIG. 2).

Some embodiments as shown in FIG. 5 involve a method for providing homescreen short cuts to TV applications available for execution on a TVdevice. The method is performed at a computer system coupled with atelevision device and a television screen (whether integrated with thetelevision device or not). The computer system includes one or moreprocessors and memory storing multiple computer programs, for executionby the one or more processors, for displaying content on the televisiondevice. The method includes: receiving a plurality of shortcutsassociated with TV applications of two or more different applicationtypes (502); displaying on a television screen associated with thetelevision device a unified home screen user interface including theshortcuts (504), wherein the shortcuts associated with TV applicationsof different application types are displayed together; and in responseto selection of one of the displayed shortcuts, launching the TVapplication associated with the shortcut, such that a user interface ofthe launched TV application is displayed on the television screenassociated with the television device (506).

In some embodiments, when at least a subset of the shortcuts isassociated with a intent, in which case the method includes: in responseto selection of one of the shortcuts with an associated intent,launching the TV application associated with the shortcut with anapplication state that reflects the associated intent (508), such that auser interface of the launched TV application for the application stateis displayed on the television screen.

In some embodiments, the method includes: displaying and hiding the homescreen user interface under control of the TV control program based oncontext of the TV control program. In some embodiments, the methodincludes: displaying the home screen in response to selection by a userof a home screen button on a physical interface device employed by theuser to control the television device.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

It will be understood that, although the terms first, second, etc. havebeen used herein to describe various elements, these elements should notbe limited by these terms. These terms are only used to distinguish oneelement from another. For example, a first media player could be termeda second media player, and, similarly, a second media player could betermed a first media player. The first media player and the second mediaplayer are both media players, but they are not the same media player.

The terminology used in the description of the embodiments herein is forthe purpose of describing particular embodiments only and is notintended to be limiting of the claims. As used in the description of theembodiments and the appended claims and the appended claims, thesingular forms “a,” “an,” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willalso be understood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting (thestated condition or event)” or “in response to detecting (the statedcondition or event),” depending on the context.

1. A method, comprising: at a computer system coupled with a televisiondevice, the computer system comprising one or more processors and memorystoring computer programs, including multiple TV applications, forexecution by the one or more processors for displaying content on thetelevision device, the method comprising: receiving a plurality ofshortcuts associated with TV applications of two or more differentapplication types; displaying on a television screen associated with thetelevision device a unified home screen user interface including theshortcuts, wherein the shortcuts associated with TV applications ofdifferent application types are displayed together; and in response toselection of one of the displayed shortcuts, launching the TVapplication associated with the shortcut, such that a user interface ofthe launched TV application is displayed on the television screenassociated with the television device.
 2. The method of claim 1, furthercomprising: displaying media content on the television screen; anddisplaying the home screen at a predefined position on the televisionscreen.
 3. The method of claim 2, wherein the predefined position on thetelevision screen is a horizontal region that coincides with a portionof the displayed media content, such that the home screen user interfaceis displayed as a horizontal overlay on the displayed media content. 4.The method of claim 2, wherein the predefined position on the televisionscreen is a vertical region that coincides with a portion of thedisplayed media content, such that the home screen user interface isdisplayed as a vertical overlay on the displayed media content.
 5. Themethod of claim 1, wherein the home screen user interface comprises ahorizontal arrangement of the shortcuts presented in a single row. 6.The method of claim 1, wherein the home screen user interface comprisesa vertical arrangement of the shortcuts presented in a single column. 7.The method of claim 1, wherein each of at least a subset of theshortcuts is associated with an intent, further comprising: in responseto selection of one of the shortcuts with an associated intent,launching the TV application associated with the shortcut with anapplication state that reflects the associated intent, such that a userinterface of the launched TV application for the application state isdisplayed on the television screen.
 8. The method of claim 1, wherein:the plurality of shortcuts are selected by a user from a plurality ofmenus/folders of different respective application types.
 9. The methodof claim 1, further comprising: displaying and hiding the home screenuser interface under control of the TV control program based on contextof the TV control program.
 10. The method of claim 1, furthercomprising: displaying the home screen in response to selection by auser of a home screen button on a physical interface device employed bythe user to control the television device.
 11. The method of claim 1,wherein the plurality of different application types includes two ormore of: applications, TV channels, websites, games and widgets.
 12. Themethod of claim 1, further comprising: storing the association betweenthe shortcuts and associated applications such that the associatedapplications are correctly launched when selected but in a mannertransparent to users of the television device.
 13. The method of claim1, wherein one of the shortcuts is associated with a search widget;further comprising: in response to selection of the search widget, asearch window is displayed allowing a user to search for TV applicationsto assign to the home screen user interface.
 14. The method of claim 1,wherein the home screen user interface is displayed on a second screendevice associated with the TV device.
 15. A computer system coupled witha television device, the computer system comprising: one or moreprocessors; and memory storing multiple computer programs, includingmultiple TV applications, for execution by the one or more processorsand for displaying content on the television device, the memoryincluding instructions for: receiving a plurality of shortcutsassociated with TV applications of two or more different applicationtypes; displaying on a television screen associated with the televisiondevice a unified home screen user interface including the shortcuts,wherein the shortcuts associated with TV applications of differentapplication types are displayed together; and in response to selectionof one of the displayed shortcuts, launching the TV applicationassociated with the shortcut, such that a user interface of the launchedTV application is displayed on the television screen associated with thetelevision device.
 16. The computer system of claim 15, furtherincluding instructions for: displaying media content on the televisionscreen; and displaying the home screen at a predefined position on thetelevision screen.
 17. The computer system of claim 15, wherein the homescreen user interface is displayed on a second screen device associatedwith the TV device.
 18. A non-transitory computer readable storagemedium storing multiple computer programs, including multiple TVapplications, for execution by one or more processors of a computersystem coupled with a television device and for displaying content onthe television device, the non-transitory computer readable storagemedium including instructions for: receiving a plurality of shortcutsassociated with TV applications of two or more different applicationtypes; displaying on a television screen associated with the televisiondevice a unified home screen user interface including the shortcuts,wherein the shortcuts associated with TV applications of differentapplication types are displayed together; and in response to selectionof one of the displayed shortcuts, launching the TV applicationassociated with the shortcut, such that a user interface of the launchedTV application is displayed on the television screen associated with thetelevision device.
 19. The non-transitory computer readable storagemedium of claim 18, further including instructions for: displaying mediacontent on the television screen; and displaying the home screen at apredefined position on the television screen.
 20. The non-transitorycomputer readable storage medium of claim 18, wherein the home screenuser interface is displayed on a second screen device associated withthe TV device.